Référence XML
Cette section décrit les six Tags et leurs attributs en détail. Elle contient aussi le DTD (Document Type Définition), utilisé pour valider les Ressources XML et décrit les six tags, en détaillant les attributs de chaque tag.
Les DTD suivantes peuvent être utilisées pour valider la ressource XML :
<!ELEMENT resource (location)+>
<!ATTLIST resource
visible (no|yes) "no"
>
<!ELEMENT location (if|value|text|title)*>
<!ELEMENT if (if|value|text|title)*>
<!ATTLIST if
column CDATA #REQUIRED
filled (no|yes) #IMPLIED
rows CDATA "1"
value CDATA #IMPLIED
>
<!ELEMENT value EMPTY>
<!ATTLIST value
column CDATA #REQUIRED
format (none|url) "none"
rows CDATA "1"
separator CDATA " "
>
<!ELEMENT text (#PCDATA)>
<!ELEMENT title (if|value|text)>
Le tag <resource>
est le tag le plus englobant des définitions de Ressource. Il est utilisé pour cerner / entourer la définition. Un tag <resource> doit contenir un ou plusieurs tags <location>.
Les Attributs
visible="no|yes"
L'attribut visible détermine ce qui arrivera si une Ressource ne produit pas un chemin d'accès à un document; normalement le titre de la ressource disparaît du sous-menu. Si l'attribut visible est fixé à yes, le titre est affiché même s'il n y a pas de chemin d'accès à un document, mais est désactivé (apparaît grisé). Par défaut, visible="no".
Le tag <location>
est utilisé pour définir le chemin d'accès à un document. Une ressource peut contenir un ou plusieurs tag <location>. Au moment du traitement, chaque section <location> est évaluée, l'une après l'autre en partant du haut, jusqu'à ce qu'un chemin d'accès non-vide soit trouvé. Donc la relation Booléenne entre chaque section <location> est OU. Le tag <location> peut contenir une combinaison de tags <if>, <value> et <text>.
Les Attributs
Aucun
Le tag <text>
est utilisé pour produire un chemin d'accès à un document en texte. Le produit de sortie correspond aux caractères trouvés entre le tag d'ouverture et de fermeture. Le texte n'est interprété en aucune façon (il est traité comme CDATA). Un élément de texte ne peut contenir aucun autre tag.
Les Attributs
Aucun
Le tag <value>
retrouve les données à partir d'une colonne spécifiée et les intègre dans le chemin d'accès au document. L'utilisation la plus commune de l'élément <value> est l'inclusion des données comme terme de recherche dans une requête URL. Un élément value ne peut contenir aucun autre tag.
Les Attributs
column="colname"
L'attribut column
nomme la colonne de données à partir de laquelle les données doivent être extraites. Le nom est le nom de la colonne tel qu'utilisé par le client EMu (voir Définition de champs pour plus de détails sur la localisation du nom de la colonne). La prise en charge est assurée pour les colonnes atomiques, les tables et les tables imbriquées. Pour les tables et les tables imbriquées, l'attribut lignes déterminent les données récupérées. Afin d'assurer un accès efficace aux données, un cache des valeurs des colonnes est appliqué. L'attribut colonne est obligatoire.
rows="rows"
Lorsque la colonne nommée est une table ou une table imbriquée, l'attribut rows
détermine quelle valeur utiliser. La valeur peut avoir trois formats. Le premier format est juste un numéro de cellule. Les numéros de cellule commencent à 1 (la première cellule est la numéro 1). Donc, le tag :
<value column="NamRoles_tab" rows="1"/>
cela veut dire que la valeur retournée sera la première cellule de la table NamRoles_tab.
Le second format est une plage de lignes, par exemple rows="1-5"
, indiquant que les cinq premières lignes doivent être extraites de la table NamRoles_tab. S'il y a moins de cinq lignes, toutes les lignes disponibles sont renvoyées.
Finalement, le mot clé all
peut être utilisé pour indiquer que toutes les cellules de la table imbriquée doivent être retrouvées (c.-à-d. rows="all").
Notons que les tables imbriquées sont mises à plat avant que les cellules soient extraites. Cela permet le traitement des cellules comme une simple table. La valeur par défaut pour rows est "1"
.
separator="string"
Lorsque plus d'une valeur est extraite de la table, l'attribut separator
est utilisé pour indiquer comment les cellules de la table doivent être jointes. La séquence string est placée entre chaque cellule de la table. Par exemple, le tag :
<value column=NamRoles_tab rows="all" separator="+"/>
prendra toutes les valeurs dans le champ NamRoles_tab et les liera ensemble avec le caractère "+"
entre chaque valeur (le caractère "+" est utilisé pour encoder un espace dans l'URL). La valeur par défaut pour separator est " " (un espace).
format="none|url"
Une fois que la valeur est retrouvée, l'attribut format
est utilisé pour déterminer comment cette donnée doit être encodée. La valeur none impliquera que le résultat ne sera pas encodé. Dans le but de transmettre correctement les données via URL, le format url devra être utilisé. Pour plus d'informations à propos de l'encodage d'URL voir http://www.rfc-editor.org/rfc/rfc1738.txt. La valeur par défaut est none.
Le tag <if> est utilisé pour tester des valeurs. C'est le seul Tag conditionnel existant pour générer des Ressources. Le tag permet de tester si une colonne contient une valeur ou non, ou si certaines valeurs apparaissent dans cette colonne. Si le tag est évalué comme true, alors les Tags intérieurs (ce sont les tags plus bas jusqu'au </if> tag) sont évalués sinon il sont ignorés. Généralement un tag <if> contient text, values et d'autres éléments if.
Les Attributs
column="colname"
L'attribut colonne nomme la colonne de données dont les données doivent être testées. Le nom est le nom de la colonne tel qu’utilisé par le client EMu. La prise en charge est assurée pour les colonnes atomiques, les tables et les tables imbriquées. Pour les tables et les tables imbriquées, l'attribut lignes déterminent les données récupérées. L'attribut colonne est obligatoire.
rows="rows"
Lorsque la colonne nommée est une table ou une table imbriquée, l'attribut rows détermine quelle valeur utiliser. La valeur peut avoir trois formats. Le premier format est juste un numéro de cellule. Les numéros de cellule commencent à 1 (la première cellule est la numéro 1).
Le second format est une plage de lignes, par exemple rows="1-5"
, indiquant que les cinq premières lignes doivent être extraites de la table NamRoles_tab. S'il y a moins de cinq lignes, toutes les lignes disponibles sont renvoyées.
Finalement, le mot clé all
peut être utilisé pour indiquer que toutes les cellules de la table imbriquée doivent être retrouvées (c.-à-d. rows="all").
Notons que les tables imbriquées sont mises à plat avant que les cellules soient extraites. Cela permet le traitement des cellules comme une simple table. La valeur par défaut pour rows est "1"
.
filled="no|yes"
L'attribut filled
est utilisé pour déterminer si une colonne contient une valeur. Si la colonne est une table ou une table imbriquée, filled vérifie si la table contient. Une valeur de yes indique que la colonne doit contenir des valeurs pour que la condition soit vraie; une valeur de no spécifie que la colonne ne doit pas contenir de valeurs pour être évaluée comme vraie.
value="string"
L'attribut value
permet le test de l'existence d'une valeur dans les données. Si string apparaît comme l'une des valeurs de la colonne, le Tag l'évalue comme true (vrai), sinon comme false (faux). La valeur string peut être en majuscule ou minuscule.
Le tag <title>
est utilisé pour remplacer la légende affichée dans le sous-menu Outils>Ressources. La légende est remplacée par le produit de sortie généré par les tags <text> et <value> compris entre les tags <title> de début et de fin. Les tags <if> peuvent être utilisés pour un contrôle conditionnel sur le texte à générer. Si la légende du menu est modifiée par ce Tag, la position de l'entrée du menu n'est pas changée. Donc, l'entrée de Registre title peut être utilisée pour définir l'ordre du menu (via le tri alphabétique) et ensuite changer la légende comme vu ci-dessus en utilisant cette tag.
Les Attributs
Aucun